home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-09-17 | 3.7 KB | 103 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: FWKind.h
- // Release Version: $ ODF 2 $
- //
- // Copyright: (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #ifndef FWKIND_H
- #define FWKIND_H
-
- #ifndef FWPRTDEF_H
- #include "FWPrtDef.h"
- #endif
-
- //========================================================================================
- // Forward Declarations
- //========================================================================================
-
- class FW_CPart;
- struct Environment;
-
-
- //========================================================================================
- // class FW_CKind
- //========================================================================================
-
- class FW_CKind
- {
- friend class FW_CPart;
-
- //----------------------------------------------------------------------------------------
- // Initialization/Destruction
- //
- private:
- FW_CKind(Environment* ev, FW_CPart* part, ODType kind, FW_StorageKinds storageKind, FW_ImportExport importExport);
- ~FW_CKind();
-
- //----------------------------------------------------------------------------------------
- // New API
- //
- public:
- ODType GetType(Environment*) const
- {return fType;}
-
- void ChangeStorageKind(Environment* ev, FW_StorageKinds storageKind);
- void ChangeImportExport(Environment* ev, FW_ImportExport importExport);
-
- FW_StorageKinds GetStorageKind(Environment*) const
- {return fStorageKind;}
- FW_ImportExport GetImportExport(Environment*) const
- {return fImportExport;}
-
- FW_Boolean IsExportEnabled(Environment*) const
- {return (fImportExport & FW_kExportEnabled) != 0;}
- FW_Boolean ExportSupported(Environment*, FW_StorageKinds storageKind) const
- {return (fStorageKind & storageKind) && (fImportExport & (FW_kExportEnabled | FW_kExportDisabled));}
- FW_Boolean ToBeExported(Environment* ev, FW_StorageKinds storageKind) const
- {return ExportSupported(ev, storageKind) && IsExportEnabled(ev);}
-
- FW_Boolean ImportSupported(Environment*, FW_StorageKinds storageKind) const
- {return (fStorageKind & storageKind) && (fImportExport & FW_kImport);}
-
- FW_Boolean IsDirty(Environment*, FW_StorageKinds theStorage) const
- {return (fDirty & theStorage) != 0;}
-
- FW_Boolean IsPreferredKind(Environment*) const
- {return fIsPreferredKind;}
- FW_Boolean IsPartKind(Environment*) const
- {return fIsPartKind;}
-
- FW_Boolean IsEqual(Environment* ev, ODType kind) const;
- FW_Boolean IsEqual(Environment* ev, ODPlatformType platformType, ODPlatformTypeSpace typeSpace) const;
- FW_Boolean IsEqual(Environment* ev, FW_CKind* kind) const
- {return IsEqual(ev, kind->fType);}
-
- //----------------------------------------------------------------------------------------
- // Internal API
- //
- public:
- void PrivSetDirty(Environment* ev, FW_Boolean state, FW_StorageKinds theStorage);
-
- private:
- void PrivSetAsPreferredKind(Environment*, FW_Boolean state)
- {fIsPreferredKind = state;}
- void PrivSetAsPartKind(Environment*)
- {fIsPartKind = TRUE;}
-
- //----------------------------------------------------------------------------------------
- // Data members
- //
- private:
- FW_CPart* fPart; // Back pointer to the part
- ODType fType; // Kind
- FW_StorageKinds fStorageKind; // Supported storage
- FW_ImportExport fImportExport; // Supported for Import and/or export
- FW_Boolean fIsPartKind; // It is the part kind
- FW_Boolean fIsPreferredKind; // It is the preferred kind
- FW_StorageKinds fDirty; // This value needs to be externalize for a specific storage unit
- };
-
- #endif